#include <QDesktopWidget>
#include "headers/connectdb.h"

connectDB::connectDB(QWidget *parent) :
    QDialog(parent){
    setupUi(this);
    dataBase->addItem("proba");
    login->setText("root");
    pass->setText("b27io64k");
    host->setText("localhost");

//    dataBase->addItem("ukraerosol");
//    login->setText("root");
//    pass->setText("ctuhtUfnjh1");
//    host->setText("192.168.2.247");

    // перемещаем диалог в центр экрана
    QDesktopWidget *desktop = QApplication::desktop();

    int screenWidth, width;
    int screenHeight, height;
    int x, y;
    QSize windowSize;

    screenWidth = desktop->width();
    screenHeight = desktop->height();

    windowSize = size();
    width = windowSize.width();
    height = windowSize.height();

    x = (screenWidth - width) / 2;
    y = (screenHeight - height) / 2;
    y -= 20;

    move ( x, y );
    //======================================
}
void connectDB::on_connect_DB_clicked()
{
    if(dataBase->currentText() == NULL){
        QMessageBox::critical(this, tr("Ошибка"),
                                 tr("Не заполненно поле \"База Данных\"!!!"),
                                 tr("Закрыть"));
        return;
    }
    if(login->text() == NULL){
        QMessageBox::critical(this, tr("Ошибка"),
                              tr("Не заполненно поле \"Логин\"!!!"),
                              tr("Закрыть"));
        return;
    }
    if(pass->text() == NULL){
        QMessageBox::critical(this, tr("Ошибка"),
                              tr("Не заполненно поле \"Пароль\"!!!"),
                              tr("Закрыть"));
        return;
    }
    if(host->text() == NULL){
        QMessageBox::critical(this, tr("Ошибка"),
                              tr("Не указан сервер для подключения!!!"),
                              tr("Закрыть"));
        return;
    }
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setDatabaseName(dataBase->currentText());
    db.setHostName(host->text());
    db.setPort(port->value());
    db.setUserName(login->text());
    db.setPassword(pass->text());
    if (!db.open()) {
        QMessageBox::critical(this, tr("Ошибка"),
                                 tr("ОШИБКА АВТОРИЗАЦИИ!!!:\n %1")
                                 .arg(db.lastError().text()),
                                 tr("Закрыть"));
        return;
    }
    db.exec("SET NAMES utf8;");
    connectDB::accept();
}
void connectDB::changeEvent(QEvent *e)
{
    switch (e->type()) {
    case QEvent::LanguageChange:
        retranslateUi(this);
        break;
    default:
        break;
    }
}
